#ifndef __MCMOUSEARGS_H_
#define __MCMOUSEARGS_H_

#include <qevent.h>

#include <MCPoint2D.h>
#include <IMouseArgs.h>

class MCCanvas;

class MCMouseArgs : public IMouseArgs
{
public:

    MCMouseArgs(QMouseEvent *event, MCCanvas *canvas);
    ~MCMouseArgs();

    MCPoint2D globalPos() override;
    const MCPoint2D &position() override;
    double x() override;
    double y() override;


    bool isRightMousePressed() override;
    bool isLeftMousePressed() override;
    bool isMiddleMousePressed() override;

    bool isCtrlPressed() override;

private:

    MCPoint2D _position;
    QMouseEvent *_event;
    MCCanvas *_canvas;
};

#endif // __MCMOUSEARGS
